unit u_rel_forma_farmaceutica;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, u_rel_padrao, jpeg, RLReport, FMTBcd, Provider, DB, DBClient,
  SqlExpr, RLHTMLFilter, RLRichFilter, RLXLSFilter, RLFilters, RLPDFFilter,
  RLParser;

type
  TFRM_RelFormaFarmaceutica = class(TFRM_RelPadrao)
    sqlRelatorio: TSQLQuery;
    dsRelatorio: TDataSource;
    cdsRelatorio: TClientDataSet;
    cdsRelatorioCOD_FORMA: TIntegerField;
    cdsRelatorioLIG_COD_EMPRESA: TIntegerField;
    cdsRelatorioLIG_COD_INVOLUCRO_TIPO: TIntegerField;
    cdsRelatorioLIG_COD_OP_RODAPE: TIntegerField;
    cdsRelatorioDESCRICAO: TStringField;
    cdsRelatorioVALIDADE: TIntegerField;
    cdsRelatorioPERC_TOLERANCIA_MAIS: TIntegerField;
    cdsRelatorioPERC_TOLERANCIA_MENOS: TIntegerField;
    cdsRelatorioCATEGORIA_FF: TStringField;
    cdsRelatorioGRUPO_FF: TStringField;
    cdsRelatorioQSP: TStringField;
    cdsRelatorioCUSTO_OPERACIONAL: TFMTBCDField;
    cdsRelatorioPRECO_MINIMO: TFMTBCDField;
    cdsRelatorioLISTAR_PEDIDO: TStringField;
    cdsRelatorioUTILIZAR_CASA_DECIMAL: TStringField;
    cdsRelatorioCONTEM: TStringField;
    cdsRelatorioOBS: TStringField;
    cdsRelatorioDATA_CAD: TDateField;
    cdsRelatorioDATA_ALTERACAO: TDateField;
    cdsRelatorioEMPRESA: TStringField;
    cdsRelatorioINVOLUCRO_TIPO: TStringField;
    cdsRelatoriosqlConsultaUnidade: TDataSetField;
    cdsRelatoriosqlConsultaIndicacao: TDataSetField;
    cdsRelatoriosqlConsultaPosologia: TDataSetField;
    dspRelatorio: TDataSetProvider;
    dsMestre_Detalhe: TDataSource;
    sqlConsultaUnidade: TSQLQuery;
    sqlConsultaUnidadeCOD_UNIDADE: TIntegerField;
    sqlConsultaUnidadeDESCRICAO: TStringField;
    sqlConsultaUnidadeABREVIACAO: TStringField;
    sqlConsultaUnidadeUNID_PADRAO: TStringField;
    sqlConsultaUnidadeUNID_PADRAO_DESC: TStringField;
    sqlConsultaUnidadeUNID_ESPECIAL: TStringField;
    sqlConsultaUnidadeUNID_ESPECIAL_DESC: TStringField;
    sqlConsultaUnidadeFRACIONAR_ESTOQUE: TStringField;
    sqlConsultaUnidadeFRACIONAR_ESTOQUE_DESC: TStringField;
    sqlConsultaUnidadePERC_CALCULO: TStringField;
    sqlConsultaUnidadePERC_CALCULO_DESC: TStringField;
    sqlConsultaUnidadeOP_CONVERSAO: TStringField;
    sqlConsultaUnidadeESTADO_FISICO: TStringField;
    sqlConsultaUnidadeVALOR_CORRESPONDENTE: TIntegerField;
    sqlConsultaUnidadeDATA_CAD: TDateField;
    sqlConsultaUnidadeDATA_ALTERACAO: TDateField;
    sqlConsultaIndicacao: TSQLQuery;
    sqlConsultaIndicacaoCOD_INDICACAO: TIntegerField;
    sqlConsultaIndicacaoDESCRICAO: TStringField;
    sqlConsultaIndicacaoDATA_CAD: TDateField;
    sqlConsultaIndicacaoDATA_ALTERACAO: TDateField;
    sqlConsultaPosologia: TSQLQuery;
    sqlConsultaPosologiaCOD_POSOLOGIA: TIntegerField;
    sqlConsultaPosologiaDESCRICAO: TStringField;
    sqlConsultaPosologiaDATA_CAD: TDateField;
    sqlConsultaPosologiaDATA_ALTERACAO: TDateField;
    cdsConsultaPosologia: TClientDataSet;
    cdsConsultaPosologiaCOD_POSOLOGIA: TIntegerField;
    cdsConsultaPosologiaDESCRICAO: TStringField;
    cdsConsultaPosologiaDATA_CAD: TDateField;
    cdsConsultaPosologiaDATA_ALTERACAO: TDateField;
    dsConsultaPosologia: TDataSource;
    dsConsultaIndicacao: TDataSource;
    cdsConsultaIndicacao: TClientDataSet;
    cdsConsultaIndicacaoCOD_INDICACAO: TIntegerField;
    cdsConsultaIndicacaoDESCRICAO: TStringField;
    cdsConsultaIndicacaoDATA_CAD: TDateField;
    cdsConsultaIndicacaoDATA_ALTERACAO: TDateField;
    cdsConsultaUnidade: TClientDataSet;
    cdsConsultaUnidadeCOD_UNIDADE: TIntegerField;
    cdsConsultaUnidadeDESCRICAO: TStringField;
    cdsConsultaUnidadeABREVIACAO: TStringField;
    cdsConsultaUnidadeUNID_PADRAO: TStringField;
    cdsConsultaUnidadeUNID_PADRAO_DESC: TStringField;
    cdsConsultaUnidadeUNID_ESPECIAL: TStringField;
    cdsConsultaUnidadeUNID_ESPECIAL_DESC: TStringField;
    cdsConsultaUnidadeFRACIONAR_ESTOQUE: TStringField;
    cdsConsultaUnidadeFRACIONAR_ESTOQUE_DESC: TStringField;
    cdsConsultaUnidadePERC_CALCULO: TStringField;
    cdsConsultaUnidadePERC_CALCULO_DESC: TStringField;
    cdsConsultaUnidadeOP_CONVERSAO: TStringField;
    cdsConsultaUnidadeESTADO_FISICO: TStringField;
    cdsConsultaUnidadeVALOR_CORRESPONDENTE: TIntegerField;
    cdsConsultaUnidadeDATA_CAD: TDateField;
    cdsConsultaUnidadeDATA_ALTERACAO: TDateField;
    dsConsultaUnidade: TDataSource;
    rlForma: TRLBand;
    rlNomeFormaDESCRICAO: TRLDBText;
    rlFormaInfo: TRLBand;
    RLDBText1: TRLDBText;
    RLDBText2: TRLDBText;
    RLDBText3: TRLDBText;
    RLDBText4: TRLDBText;
    RLDBText5: TRLDBText;
    RLDBText6: TRLDBText;
    RLDBText7: TRLDBText;
    RLDBText8: TRLDBText;
    RLDBText9: TRLDBText;
    RLDBText10: TRLDBText;
    RLDBText11: TRLDBText;
    RLDBText12: TRLDBText;
    rlSubUnidadeMedida: TRLSubDetail;
    RLBand9: TRLBand;
    RLLabel1: TRLLabel;
    bndDetailUnidade: TRLBand;
    RLDBText13: TRLDBText;
    RLDBText14: TRLDBText;
    RLDBText21: TRLDBText;
    RLDBText27: TRLDBText;
    RLBand18: TRLBand;
    RLLabel43: TRLLabel;
    RLLabel44: TRLLabel;
    RLLabel45: TRLLabel;
    RLLabel47: TRLLabel;
    RLBand12: TRLBand;
    RLDBResult7: TRLDBResult;
    RLLabel2: TRLLabel;
    RLDBText15: TRLDBText;
    RLExpressionParser: TRLExpressionParser;
    RLLabel3: TRLLabel;
    RLDBText16: TRLDBText;
    RLLabel4: TRLLabel;
    RLDBText17: TRLDBText;
    RLSubIndicacaoUso: TRLSubDetail;
    RLBand1: TRLBand;
    RLLabel5: TRLLabel;
    bndDetailIndicacao: TRLBand;
    RLDBText18: TRLDBText;
    RLDBText23: TRLDBText;
    RLBand3: TRLBand;
    RLLabel6: TRLLabel;
    RLLabel10: TRLLabel;
    RLBand4: TRLBand;
    RLDBResult1: TRLDBResult;
    RLSubPosologia: TRLSubDetail;
    RLBand5: TRLBand;
    RLLabel7: TRLLabel;
    bndDetailPosologia: TRLBand;
    RLDBText19: TRLDBText;
    RLDBText20: TRLDBText;
    RLBand7: TRLBand;
    RLLabel8: TRLLabel;
    RLLabel9: TRLLabel;
    RLBand10: TRLBand;
    RLDBResult2: TRLDBResult;
    rlSubObservacao: TRLSubDetail;
    RLBand16: TRLBand;
    RLLabel41: TRLLabel;
    RLBand17: TRLBand;
    RLDBMemo3: TRLDBMemo;
    procedure lblEmpresaLicenciadaBeforePrint(Sender: TObject;
      var Text: String; var PrintIt: Boolean);
    procedure bndDetailUnidadeBeforePrint(Sender: TObject; var PrintIt: Boolean);
    procedure bndDetailIndicacaoBeforePrint(Sender: TObject; var PrintIt: Boolean);
    procedure bndDetailPosologiaBeforePrint(Sender: TObject; var PrintIt: Boolean);
    procedure rptRelatorioBeforePrint(Sender: TObject;
      var PrintIt: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FRM_RelFormaFarmaceutica: TFRM_RelFormaFarmaceutica;

implementation

uses u_dm_geral;

{$R *.dfm}

procedure TFRM_RelFormaFarmaceutica.lblEmpresaLicenciadaBeforePrint(
  Sender: TObject; var Text: String; var PrintIt: Boolean);
begin
  inherited;
  Text := cdsRelatorioEMPRESA.AsString;
end;

procedure TFRM_RelFormaFarmaceutica.bndDetailUnidadeBeforePrint(Sender: TObject;
  var PrintIt: Boolean);
begin
  inherited;
  if odd(dsConsultaUnidade.DataSet.RecNo) then bndDetailUnidade.Color := $00F5F5F5 else bndDetailUnidade.Color := clWhite;
end;

procedure TFRM_RelFormaFarmaceutica.bndDetailIndicacaoBeforePrint(Sender: TObject;
  var PrintIt: Boolean);
begin
  inherited;
  if odd(dsConsultaIndicacao.DataSet.RecNo) then bndDetailIndicacao.Color := $00F5F5F5 else bndDetailIndicacao.Color := clWhite;
end;

procedure TFRM_RelFormaFarmaceutica.bndDetailPosologiaBeforePrint(Sender: TObject;
  var PrintIt: Boolean);
begin
  inherited;
  if odd(dsConsultaPosologia.DataSet.RecNo) then bndDetailPosologia.Color := $00F5F5F5 else bndDetailPosologia.Color := clWhite;
end;

procedure TFRM_RelFormaFarmaceutica.rptRelatorioBeforePrint(
  Sender: TObject; var PrintIt: Boolean);
begin
  inherited;
  if cdsRelatorioOBS.AsString = '' then rlSubObservacao.Visible := false;
end;

end.
